package com.silence.gmall.base;

/**
 * @Author silence
 * @Email 792245022@qq.com
 * @Date 2025-06-11 14:50
 * @Description Code 接口
 */
public interface Code {

    /**
     * 获取编码
     *
     * @return 编码
     */
    Integer getCode();

    /**
     * 获取消息
     *
     * @return 消息
     */
    String getMsg();

    /**
     * 构建实例
     *
     * @param code 编码
     * @param msg  消息
     * @return 实例
     */
    static Code newInstance(final Integer code, final String msg) {
        return new Code() {

            @Override
            public Integer getCode() {
                return code;
            }

            @Override
            public String getMsg() {
                return msg;
            }
        };
    }
}
